Performance Enhancement and Prediction Model of Concurrent Thread Execution in JVM
نویسنده
چکیده
Performance of a Java Virtual Machine (JVM) is quantified in terms of the JVM’s relative CPU availability at executing concurrent Java threads. The total CPU loading of a JVM is defined by the sum of the CPU utilization factors of all threads executing on the JVM. Sharp performance degradation has been observed while JVM executes concurrent threads with exactly same CPU load. An analytical model has been proposed and implemented to improve the scenario. Extensive experimental studies and statistical analysis are performed to validate the performance enhancement of concurrent thread execution and provide a basis for an empirical model for improving CPU performance. To facilitate scientific and controlled empirical evaluation, synthetically generated threads are employed that are parameterized by their CPU utilization factor, which is defined as the fraction of time a thread spends utilizing CPU resources.
منابع مشابه
Optimized Execution of Deterministic Blocks in Java PathFinder
Java PathFinder (JPF) is an explicit-state model checker for Java programs. It explores all executions that a given program can have due to different thread interleavings and nondeterministic choices. JPF implements a backtracking Java Virtual Machine (JVM) that executes Java bytecodes using a special representation of JVM states. This special representation enables JPF to quickly store, restor...
متن کاملLightweight Transparent Java Thread Migration for Distributed JVM
A distributed JVM on a cluster can provide a highperformance platform for running multi-threaded Java applications transparently. Efficient scheduling of Java threads among cluster nodes in a distributed JVM is desired for maintaining a balanced system workload so that the application can achieve maximum speedup. We present a transparent thread migration system that is able to support high-perf...
متن کاملDeterministic Replay of Distributed Java Applications
Execution behavior of a Java application can be nondeterministic due to concurrent threads of execution, thread scheduling, and variable network delays. This nondeterminism in Java makes the understanding and debugging of multi-threaded distributed Java applications a difficult and a laborious process. It is well accepted that providing deterministic replay of application execution is a key ste...
متن کاملDitto - Deterministic Execution Replayability-as-a-Service for Java VM on Multiprocessors
Alongside the rise of multi-processor machines, concurrent programming models have grown to near ubiquity. Programs built on these models are prone to bugs with rare pre-conditions, arising from unanticipated interactions between parallel tasks. Replayers can be efficient on uni-processor machines, but struggle with unreasonable overhead on multi-processors, both concerning slowdown of the exec...
متن کاملDistributed Java Virtual Machine with Thread Migration
of thesis entitled “Distributed Java Virtual Machine with Thread Migration” submitted by Wenzhang Zhu for the degree of Doctor of Philosophy at the University of Hong Kong in August 2004 Recent advances in better Java class libraries and Just-in-Time (JIT) compilation techniques have greatly improved the performance of Java to match that of C/C++. To fully exploit Java’s multithreading feature ...
متن کامل